// let user = {
//   isLogin: null,
// };
// user.isLogin &&= "admin";
// console.log(user.isLogin); // null

// let setting = {
//     theme: "hello world"
// }
// setting.theme ||= "dark";
// console.log(setting.theme); // hello world

// let x = undefined;
// x ??= "default";
// console.log(x); // default

// let y = undefined;
// y ||= "default";
// console.log(y); // default

// let x = 0;
// x ??= "default";
// console.log(x); // 0

// let y = 0;
// y ||= "default";
// console.log(y); // default

// const str = "hello world, hello javascript";
// const newstr = str.replace("hello", "hi");
// console.log(newstr); // hi world, hello javascript

// const str = "hello world, hello javascript";
// const newstr = str.replace(/hello/g, "hi");
// console.log(newstr); // hi world, hi javascript

// const str = "hello world, hello javascript";
// let newstr = str;
// let counter = 0; // 计数器
// while (newstr.includes("hello")) {
//   counter++;
//   newstr = newstr.replace("hello", "hi");
//   console.log(`当前字符串的值为: ${newstr}，计数器: ${counter}`);
// }
// console.log(newstr); // hi world, hi javascript

// const str = "hello world, hello javascript";
// console.log(str.replaceAll("hello", "hi"));
// console.log(str);

// const aggregateErr = new AggregateError(
//   [
//     new Error("请求API出错"),
//     new Error("数据库连接出错"),
//     new Error("项目无法启动"),
//   ],
//   "发生了多个错误"
// );
// console.log(aggregateErr.message);
// console.log(aggregateErr.errors);

// const p1 = Promise.reject(1);
// const p2 = Promise.reject(2);
// const p3 = Promise.reject(3);

// Promise.any([p1, p2, p3])
//   .then((result) => {
//     console.log(result);
//   })
//   .catch((err) => {
//     console.log(err); // AggregateError 类型的错误
//   });

// const loadFromCDN1 = () =>
//   new Promise((resolve, reject) =>
//     setTimeout(() => reject("CDN 1 failed"), 1000)
//   );
// const loadFromCDN2 = () =>
//   new Promise((resolve) =>
//     setTimeout(() => resolve("CDN 2: Loaded jQuery"), 1500)
//   );
// const loadFromCDN3 = () =>
//   new Promise((resolve) =>
//     setTimeout(() => resolve("CDN 3: Loaded jQuery"), 2000)
//   );

// Promise.any([loadFromCDN1(), loadFromCDN2(), loadFromCDN3()])
//   .then((value) => {
//     console.log(value);
//     init();
//   })
//   .catch((err) => {
//     console.log(err);
//     // [AggregateError: All promises were rejected] { [errors]: [ 'CDN 1 failed' ] }
//   });

// function init() {
//   console.log("jQuery is ready");
// }

const largeNum = 1_000_0_00_00_0;
console.log(largeNum); // 1000000000
